package net.hn.hnms.biz.equipment.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import net.hn.hnms.biz.equipment.domain.CoalMineSysPointPo;
import net.hn.hnms.biz.equipment.service.CoalMineSysPointService;
import net.hn.hnms.sys.common.core.domain.R;
import net.hn.hnms.sys.common.core.domain.ResponsePage;
import net.hn.hnms.sys.common.mybatis.core.page.PageQuery;
import net.hn.hnms.sys.common.mybatis.core.page.TableDataInfo;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@Api(value = "重大设备编码配置管理", tags = {"编码配置管理"})
@RestController
@RequestMapping("/CoalMineSysPoint")
public class CoalMineSysPointController {
    @Resource
    private CoalMineSysPointService coalMineSysPointService;
    /**
     * 功能描述: 获取编码配置列表
     * @auther: WangLong
     * @date: 2022/7/28 10:47
     * @param
     * @return net.hn.hnms.sys.common.core.domain.R
     */
    @ApiOperation("获取编码配置列表")
    @GetMapping("allList")
    public R getList() {
       List<CoalMineSysPointPo> lists =coalMineSysPointService.getList();
        return R.ok(lists);
    }

    /**
     * 功能描述: 条件查询编码配置列表分页
     * @auther: WangLong
     * @date: 2022/7/28 11:04
     * @param pageQuery
     * @param coalMineSysPoint
     * @return net.hn.hnms.sys.common.core.domain.R
     */

    @ApiOperation("条件查询编码配置列表分页")
    @GetMapping("pageList")
    public R<ResponsePage<CoalMineSysPointPo>> pageList(PageQuery pageQuery, CoalMineSysPointPo coalMineSysPoint) {
        TableDataInfo<CoalMineSysPointPo> page = coalMineSysPointService.pageList(pageQuery,coalMineSysPoint);
        ResponsePage responsePage = new ResponsePage<CoalMineSysPointPo>(page.getRows(),page.getTotal());
        return R.ok(responsePage);
    }

    /**
     * 功能描述: 根据设备名称设置测点编码
     * @auther: WangLong
     * @date: 2022/7/29 11:23
     * @param apiName
     * @param apiCategory
     * @param point
     * @return net.hn.hnms.sys.common.core.domain.R
     */

    @ApiOperation("根据设备名称设置测点编码")
    @PutMapping("setPoint")
    public R setPoint(String apiName,String apiCategory,String point) {
        Boolean is = coalMineSysPointService.setPoint(apiName,apiCategory, point);
        if (is) {
            return R.ok("设置成功");
        }
        return R.fail("设置失败");
    }

    /**
     * 功能描述: 新增测点编码记录
     * @auther: WangLong
     * @date: 2022/7/29 11:23
     * @param coalMineSysPoint
     * @return net.hn.hnms.sys.common.core.domain.R
     */

    @ApiOperation("新增测点编码记录")
    @PostMapping("add")
    public R add(@RequestBody CoalMineSysPointPo coalMineSysPoint) {
        Boolean is = coalMineSysPointService.add(coalMineSysPoint);
        if (is) {
            return R.ok("新增成功");
        }
        return R.fail("新增失败");
    }


}
